/*
 * @Author: your name
 * @Date: 2020-12-03 16:25:07
 * @LastEditTime: 2020-12-03 18:56:37
 * @LastEditors: Please set LastEditors
 * @Description: 对数组处理
 * @FilePath: \vue-element-admine:\hjimi\人脸\html\face-recognition\src\utils\arrHandle.js
 */

 /**
  * @description: 数组冒泡-降序/升序
  * @param （数组，（downArr）降序）第二个参数不传为升序
  */
export function upDownArrSort(upDownArr, ArrSortType) {
    for (let i = 0; i < upDownArr.length; i++) {
        for (let y = i; y > 0; y--) {
            if(ArrSortType === 'down') {
                if (upDownArr[y] > upDownArr[y - 1]) {
                    [upDownArr[y - 1], upDownArr[y]] = [upDownArr[y], upDownArr[y - 1]]
                }
            } else {
                if (upDownArr[y] < upDownArr[y - 1]) {
                    [upDownArr[y - 1], upDownArr[y]] = [upDownArr[y], upDownArr[y - 1]]
                }
            }
        }
    }
    return upDownArr

// 最简单：
//     upDownArr.sort((a,b)=>{return a-b})//升序
//     upDownArr.sort((a,b)=>{return b-a})//降序
}

  /**
  * @description: 数组对象-降序/升序
  * @param (数组对象,有数字值的key，downAr(r降序)）第二个参数不传为升序
  */
  export function arrObjectUpDownSort(arrObject, k, ArrSortType) {
    return arrObject.sort((x, y) => {
        return ArrSortType === 'down' ? y[k] - x[k] : x[k] - y[k]
      })
  }

/**
* @description: 数组每项求和
* @param （数组，（maxVal）最大值）第二个参数不传为最小值
*/
 export function arrSum(arr) {
    let sum = 0;
    arr.forEach(v => {
        sum = sum + v
    })
    return sum
 }

 /**
* @description: 数组中求最大值
*/
 export function maxMinVal(arr, maxVal) {
    let r = arr[0]
    maxVal === 'maxVal' 
    ? arr.forEach((v,i) => v > r ?  r = arr[i] : r) 
    : arr.forEach((v,i) => v < r ?  r = arr[i] : r)
    return r
 }

 /**
* @description: 对象转数组
*/
export function objectToArr(obj) {
    let r = []
    Object.keys(obj).forEach(v => {
        let o = {}
        o[v] = obj[v]
        r.push(o)
    })
    return r
 }